package com.ytjj.common.dto.mqdto;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 *
 *  *
 **/
@Data
public class OrderRecordDto implements Serializable {

    /**
     * uuid
     */
    private String uuid;
    /**
     * 订单ID
     */
    private Integer orderId;

    /**
     * 订单详情ID
     */
    private Integer orderInfoId;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 产品ID
     */
    private Integer productId;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 成本价
     */
    private BigDecimal costPrice;

    /**
     * 原价
     */
    private BigDecimal originalPrice;

    /**
     * 售价
     */
    private BigDecimal price;

    /**
     * 平台
     */
    private String platform;

    /**
     * 渠道
     */
    private String channel;

    /**
     * 活动类型
     */
    private String activityType;

    /**
     * 是否支付
     */
    private Integer isPay;

    /**
     * 是否有地址
     */
    private Integer isAddress;

    /**
     * 创建时间
     */
    private Date createTime;

    private Integer isFirstBuy;
    /**
     * userId
     *
     */
    private Integer userId;
    /**
     * 支付方式：pay_delivery货到付款 online_pay在线支付 service客服 score积分
     *
     */
    private String payType;
    /**
     * 支付来源：vip vip钱包 alipay支付宝 wx微信
     */
    private String paySource;

    private String city;

    private String area;

    private String address;

    private String province;

    /**
     * 收货地址
     */
    private String userAddress;
    /**
     * 付款时间
     */
    private Date payTime;
    /**
     * 更新时间
     */
    private Date updateTime;

    private Integer dynamicId;

    public OrderRecordDto() {
    }

    public OrderRecordDto(String uuid, Integer orderId, Integer orderInfoId, String orderNo, Integer productId, String productName,
                          BigDecimal costPrice, BigDecimal originalPrice, BigDecimal price, String platform, String channel,
                          String activityType, Integer isPay, Integer isAddress, Date createTime, Integer isFirstBuy,
                          Integer userId, String payType, String paySource, String city, String area, String address, String province, String userAddress,
                          Date payTime,Date updateTime, Integer dynamicId) {
        this.uuid = uuid;
        this.orderId = orderId;
        this.orderInfoId = orderInfoId;
        this.orderNo = orderNo;
        this.productId = productId;
        this.productName = productName;
        this.costPrice = costPrice;
        this.originalPrice = originalPrice;
        this.price = price;
        this.platform = platform;
        this.channel = channel;
        this.activityType = activityType;
        this.isPay = isPay;
        this.isAddress = isAddress;
        this.createTime = createTime;
        this.isFirstBuy = isFirstBuy;
        this.userId = userId;
        this.payType = payType;
        this.paySource = paySource;
        this.city = city;
        this.area = area;
        this.address = address;
        this.province = province;
        this.userAddress = userAddress;
        this.payTime = payTime;
        this.updateTime = updateTime;
        this.dynamicId = dynamicId;
    }

    public OrderRecordDto(String uuid, Integer orderId, Integer orderInfoId, String orderNo, Integer productId, String productName,
                          BigDecimal costPrice, BigDecimal originalPrice, BigDecimal price, String platform, String channel,
                          String activityType, Integer isPay, Integer isAddress, Date createTime, Integer isFirstBuy) {
        this.uuid=uuid;
        this.orderId = orderId;
        this.orderInfoId = orderInfoId;
        this.orderNo = orderNo;
        this.productId = productId;
        this.productName = productName;
        this.costPrice = costPrice;
        this.originalPrice = originalPrice;
        this.price = price;
        this.platform = platform;
        this.channel = channel;
        this.activityType = activityType;
        this.isPay = isPay;
        this.isAddress = isAddress;
        this.createTime = createTime;
        this.isFirstBuy = isFirstBuy;
    }
}
